<?php

class Login extends CI_Controller {

    function index(){
        $this->estaLogado();
        $this->session->unset_userdata('user_id');
        $this->session->unset_userdata('user_permission');
        $this->session->unset_userdata('user_login');
        
    }
    function __construct(){
        parent::__construct();
    }
     function login(){
         $this->load->view('usuarios/login_view');
    }
     function loginErro(){
         $this->load->view('usuarios/login_Erro_view');
    }
    function logout(){
	$this->session->sess_destroy();	
	redirect('Login/login');
    }
    
    function cadastrar(){
        $this->load->view('usuarios/cadastro_view');    
        
    }
    function cadastrando(){
        $this->load->model('usuarioModel');
        
        if($this->input->post()){
            $usuario = new stdClass();
            $usuario->login = $this->input->post('login');
            $usuario->senha = md5($this->input->post('senha'));
            if ($usuario->login == 'admin'){
                $usuario->permissao_id = 0;
            }
            else{
                $usuario->permissao_id = 1;
            }
            $this->usuarioModel->cadastrarUsuario($usuario);
            
            redirect('Login/home');
            
        }
    }
    
    
    function logar(){
        $this->load->model('usuarioModel');
        
         if($this->input->post()){
            $usuario = new StdClass();
            $usuario->login = $this->input->post('login');
            $usuario->senha = md5($this->input->post('senha'));
            
            $dados = $this->usuarioModel->testLogin($usuario);
            if($dados){
                $this->session->set_userdata('usuario_id',$dados->id);
                $this->session->set_userdata('usuario_permissao_id',$dados->permissao_id);
                $this->session->set_userdata('usuario_login',$dados->login);
                if ($dados->permissao_id == 0){
                    redirect('Login/home');
                }
                else{
                    redirect('Login/homeAluno');
                }
            }else{
    
                
                redirect('Login/loginErro');
            }
            
        }
    }
    
    function home(){
        $this->estaLogado();
        $this->temPermissao();
        $this->load->view('usuarios/home_admin');
    }
    
    function homeAluno(){
        $this->estaLogado();
        $this->temPermissao();
        $this->load->view('aluno/cadastrarAluno');
    }
    
    function temPermissao($id_mudança = false){
	$id = $this->session->userdata('usuario_permissão_id');
	if($id != 0 && $id_mudança != $this->session->userdata('usuario_id')){
            $this->session->set_userdata('erro', 'Voce não possui permissão para executar esta operação!');
            redirect('Login/home');
	}
    }
    
    public function estaLogado(){
        $this->load->library('session');
	$id = $this->session->userdata('usuario_id');

	if(empty($id)){
            redirect('Login/login');
        }
    }
}
?>
